package negocio;

import java.io.IOException;
import java.util.Vector;

import vo.MateriaVO;
import vo.ProfesorVO;

public class Profesor {
	private int numeroLegajo;
	private String nombre;
	private Direccion direccion;
	private Vector<Materia> materias;
		
	public Profesor(int numeroLegajo, String nombre, Direccion direccion,
			Vector<Materia> materias) {
		this.numeroLegajo = numeroLegajo;
		this.nombre = nombre;
		this.direccion = direccion;
		this.materias = materias;
	}

	public void agregarMateria(MateriaVO materia)
	{
		if(!this.existeMateria(materia.numero)){
			materias.add(new Materia(materia.numero, materia.nombre));
		}
	}
	
	public ProfesorVO asVO(){
		Vector<MateriaVO> materiasVO = new Vector<MateriaVO>();
		for(int i=0; i<this.materias.size(); i++){
			materiasVO.add(this.materias.elementAt(i).asVO());
		}
		return new ProfesorVO(this.numeroLegajo, this.nombre, this.direccion.asVO(), materiasVO);
	}
	
	private boolean existeMateria(int numero){
		for(int i=0; i<this.materias.size(); i++){
			if(this.materias.elementAt(i).getNumero() == numero){
				return true;
			}
		}
		return false;
	}

	public int getNumeroLegajo() {
		return numeroLegajo;
	}

	public String getNombre() {
		return nombre;
	}

	public Direccion getDireccion() {
		return direccion;
	}

	public Vector<Materia> getMaterias() {
		return materias;
	}
}
